package main
import (
	"fmt"
	"net/http"
)

func main(){
	/*
	type HandlerFunc
	type HandlerFunc func(ResponseWriter, *Request)
	HandlerFunc type是一个适配器，通过类型转换让我们可以将普通的函数作为HTTP处理器使用。
	如果f是一个具有适当签名的函数，HandlerFunc(f)通过调用f实现了Handler接口。
	*/
	
	/*将 / 请求，用Index函数来处理*/
	http.HandleFunc("/", Index)
	
	/*将 /index.html 请求，用Index函数来处理*/
	http.HandleFunc("/index.html", Index)
	
	/*监听和服务，监听:8000，不写IP地址，默认本机地址*/
	http.ListenAndServe(":8000", nil)
}

/*
* ResponseWriter 返回给访问者的数据
* Request 访问者发送的http请求
*/
func Index(writer http.ResponseWriter, request *http.Request){
	fmt.Fprintf(writer, "Hello World, %s !", request.URL.Path[1:])
}